# import wordcloud

# w = wordcloud.WordCloud(width=1000, height=700, background_color='white', font_path='msyh.ttc')
# w.generate('从明天起，做一个幸福的人。喂马、劈柴，周游世界。从明天起，关心粮食和蔬菜。我有一所房子，面朝大 海，春暖花开')
# w.to_ﬁle('output2-poem.png')

# w = wordcloud.WordCloud()
#
# w.generate('and that government of the people, by the people, for the people, shall not perish from the earth.')
#
# w.to_ﬁle('output1.png')

# w = wordcloud.WordCloud()
#
# # 调用词云对象的generate方法，将文本传入
# w.generate('and that government of the people, by the people, for the people, shall not perish from the earth.')
#
# # 将生成的词云保存为output1.png图片文件，保存出到当前文件夹中
# w.to_ﬁle('output1.png')

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数，并用这个函数读取本地图片，作为词云形状图片
import imageio.v3
mk = imageio.imread("wujiaoxing.png")
w = wordcloud.WordCloud(mask=mk)

# 构建并配置词云对象w，注意要加scale参数，提高清晰度
w = wordcloud.WordCloud(width=1000,
  height=700,
  background_color='white',
  font_path='msyh.ttc',
  mask=mk,
  scale=15)
# 对来自外部文件的文本进行中文分词，得到string
f = open('关于实施乡村振兴战略的意见.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法，给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output6-village.png')


# 导入词云制作库wordcloud
import wordcloud
# 将外部文件包含的文本保存在string变量中
string = open('hamlet.txt').read()
# 导入imageio库中的imread函数，并用这个函数读取本地图片，作为词云形状图片
import imageio
mk = imageio.imread("alice.png")
# 构建词云对象w，注意增加参数contour_width和contour_color设置轮廓宽度和颜色
w = wordcloud.WordCloud(background_color="white",
  mask=mk,
  contour_width=1,
  contour_color='steelblue')
# # 将string变量传入w的generate()方法，给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output9-contour.png')


# 导入绘图库matplotlib和词云制作库wordcloud
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
# 将外部文件包含的文本保存在text变量中
text = open('alice.txt').read()
# 导入imageio库中的imread函数，并用这个函数读取本地图片queen2.jfif，作为词云形状图片
import imageio
mk = imageio.imread("alice_color.png")
# 构建词云对象w
wc = WordCloud(background_color="white",
mask=mk,)
# 将text字符串变量传入w的generate()方法，给词云输入文字
wc.generate(text)
# 调用wordcloud库中的ImageColorGenerator()函数，提取模板图片各部分的颜色
image_colors = ImageColorGenerator(mk)
# 显示原生词云图、按模板图片颜色的词云图和模板图片，按左、中、右显示
fig, axes = plt.subplots(1, 3)
# 最左边的图片显示原生词云图
axes[0].imshow(wc)
# 中间的图片显示按模板图片颜色生成的词云图，采用双线性插值的方法显示颜色
axes[1].imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
# 右边的图片显示模板图片
axes[2].imshow(mk, cmap=plt.cm.gray)
for ax in axes:
 ax.set_axis_off()
plt.show()
# 给词云对象按模板图片的颜色重新上色
wc_color = wc.recolor(color_func=image_colors)
# 将词云图片导出到当前文件夹
wc_color.to_file('output10-alice.png')